package com.juma.cartridge.retryque;



/**
 * 	重试队列管理器
 * @ClassName RetryQueueManager
 * @Description
 * @Author zhuangguangyou
 * @Date 2019年6月27日 下午1:33:28
 * @Version 1.0
 *
 */

public interface RetryQueueManager {

	/**
	 * 	任务入例
	 * @param task
	 * @return
	 */
	boolean enqTask(RetryTask task);
	
	/**
	 * 	更新任务
	 * @param task
	 */
	void updateTask(RetryTask task);
	
	
	/**
	 * 	重试处理器注册
	 * @param bizCode 业务编码
	 * @param handler 处理器实例
	 */
	void registerRetryHandler(String bizCode,RetryHandler handler);
	
	
	/**
	 * 	检查是否存在指定业务代码的处理器
	 * @param bizCode
	 * @return
	 */
	boolean hasRetryHandler(String bizCode);
	
	/**
	 * 强制触发任务扫描
	 * @param delayMilles 触发延时时间
	 */
	void triggeScan(int delayMilles);
}
